var rowIndex = "%^%%%%";//发料表的下标（用于改变选中行样式）
var page;//发料表的页码
var _index = -1;//发料表的下标（用于表勾选）
var _fCode;//派工单号
var datas = [];
/*
 * @Description: 预加载
 * @param : 
 */
$(function() {
	fnResize();
	warehouse();
	setTimeout(function() {
		initStockInfoTable();
	}, 200);
	initPickingTable();
//	initMergePickTable();
	//点击Tab刷新表格
	/*$(".OPICK",parent.document).click(function(){
		$('#stockInfoTable').bootstrapTable('refresh');
		$('#pickingTable').bootstrapTable('refresh');
//		setTimeout(function(){
//			if(_index != -1){
//				$('#pickTable').bootstrapTable('check',_index);
//			}
//		},500);
	});*/
});
/*
 * @Description: 初始化库存信息表 
 * @param :  
 */
function initStockInfoTable() {
	$('#stockInfoTable').bootstrapTable('destroy').bootstrapTable({
		url : pathUrl("icinventory/findByCondition.action"),//请求后台的URL
		//height : $(window).height() - 200,//行高
		method : "POST",//请求方式
		//striped : true,//是否显示行间隔色
		cache : false,//是否使用缓存，默认为true
		pagination : true,//是否显示分页
		clickToSelect : true,//是否启用点击选中行
		singleSelect : true,//是否单选
		pageNumber : 1,//初始化加载第几页
		pageSize : 10,//每页的记录行数
		sidePagination : "server", // 分页方式：client客户端分页，server服务端分页（*）
		pageList : [ 10, 30, 50, 100 ],// 分页方式：client客户端分页，server服务端分页
		/*rowStyle : function(row, index) {//自定义样式，参数为：row：行数据，index：行下标
			var classes = [ 'success' ];
			if (index == rowIndex) {
				return {
					classes : classes[0]
				};
			}
			return {};
		},*/
		queryParams : function(params) {//传递参数
			var data= {};
			data.offset = params.offset;
			data.row = params.limit;
			//data.sortOrder = params.order;//排序
			//data.sortName = params.sort;//排序
			data.fNumber =  $("#fNumber").val();
			data.fModel =  $("#fModel").val();
			data.fStockID = $("#fStockID").val();
			return data;
		},
		dataType : 'JSON',//数据类型
		uniqueId : "fInterID",//每一行的唯一标识，一般为主键列
		columns : [ {
			field : 'fNumber',
			align : 'left',
			title : '物料代码',
			edit : false
		},{
			field : 'fName',
			align : 'left',
			title : '物料名称',
			edit : false
		},{
			field : "fModel",
			align : 'left',
			title : '规格型号',
			formatter : formatterStringLong,
			edit : false
		},{
			field : 'fBatchNo',
			align : 'left',
			title : '批次',
			edit : false
		},{
			field : 'fUnit',
			align : 'left',
			title : '单位',
			edit : false
		},{
			field : '',
			align : 'left',
			title : '可用数量',
			formatter : function(value,row,index){
				var fOccupyQty = row.fOccupyQty
				if(fOccupyQty == null){
					fOccupyQty = 0;
				}
				return Math.round((parseFloat(row.fQty) - parseFloat(fOccupyQty)) * 100) / 100;
			},
			edit : false
		}],
		onClickRow : function(row, $element) {//行单击
//			console.log(row)
			var pickingData = $('#pickingTable').bootstrapTable('getData');
			var length = pickingData.length;
			var flag = false;
			var fOccupyQty = row.fOccupyQty
			if(fOccupyQty == null){
				fOccupyQty = 0;
			}
			if((Math.round((parseFloat(row.fQty) - parseFloat(fOccupyQty)) * 100) / 100) == 0){
				swal_Tips("该物料可用数量为0，不能发料！");
				return false;
			}
			if(length > 0){
				$.each(pickingData,function(key,value){
					if(row.fNumber == value.fNumber){
						flag = true;
					}
				});
				if(flag){
					swal_Tips("该物料已存在！");
					return false;
				}else{
					pickingData[length] = row;
				}
			}else{
				pickingData[0] = row;
			}
			$('#pickingTable').bootstrapTable('load',pickingData);
		}
	});
}
/*
 * @Description: 初始化发料表 
 * @param :  
 */
function initPickingTable() {
	$('#pickingTable').bootstrapTable('destroy').bootstrapTable({
		height : $(window).height() - 80,//行高
		dataType : 'JSON',//数据类型
		uniqueId : "fInterID",//每一行的唯一标识，一般为主键列
		columns : [ {
			field : 'fNumber',
			align : 'left',
			title : '物料代码',
			edit : false
		},{
			field : 'fName',
			align : 'left',
			title : '物料名称',
			edit : false
		},{
			field : "fModel",
			align : 'left',
			title : '规格型号',
			formatter : formatterStringLong,
			edit : false
		},{
			field : 'fBatchNo',
			align : 'left',
			title : '批次',
			edit : false
		},{
			field : 'fUnit',
			align : 'left',
			title : '单位',
			edit : false
		},{
			field : 'sum',
			align : 'left',
			title : '可用数量',
			formatter : function(value,row,index){
				var fOccupyQty = row.fOccupyQty
				if(fOccupyQty == null){
					fOccupyQty = 0;
				}
				return Math.round((parseFloat(row.fQty) - parseFloat(fOccupyQty)) * 100) / 100;
			},
			edit : false
		},{
			field : 'lQty',
			align : 'left',
			title : '发料数',
			formatter : function(value,row,index){
				if(value == null){
					return "";
				}else{
					return value;
				}
			}
		},{
			field : 'operate',
			align : 'left',
			title : '操作',
			formatter : function(value,row,index){
				return '<button type="button" class="btn btn-default delete" style="font-size:12px;">删除</button>';
			},
			events : operateEvents,
			edit : false
		}],
		onClickRow : function(row, $element) {//行单击
//			console.log(row)
		}
	});
}
/*
 * @Description: 表按钮操作事件
 * @param :
 */
window.operateEvents = {
	'click .delete' : function(e, value, row, index) {//删除按钮点击事件
		$("#pickingTable").bootstrapTable('removeRow',index);
	}
}
/*
 * @Description: 查询按钮单击事件
 * @param :
 */
$("#query").click(function() {
	initStockInfoTable();
});
/*
 * @Description: 重置按钮单击事件
 * @param :
 */
$("#resetting").click(function() {
	$(".clean_C").val("");
	initStockInfoTable();
});
/*
 * @Description: 发料按钮单击事件
 * @param :
 */
$("#giveOut").click(function() {
	var pickingData = $('#pickingTable').bootstrapTable('getData');
	var validate = true;
	$.each(pickingData,function(key,value){
		var lQty = parseFloat(value.lQty);
		// var fOccupyQty = value.fOccupyQty==null?0:value.fOccupyQty;
		var title = value.fNumber + value.icitemName + value.fModel;
		if(isNaN(lQty)){
			validate = false;
			swal_Tips("请输入" + title + "正确的发料数！");
			return false;
		}
		if(lQty == 0){
			validate = false;
			swal_Tips(title + "发料数不能为0！");
			return false;
		}
		// if((Math.round((parseFloat(value.fQty) - parseFloat(fOccupyQty)) * 100) / 100) < lQty){
		// 	validate = false;
		// 	swal_Tips(title + "发料数不能大于可用数！");
		// 	return false;
		// }
		console.log(value)
		datas[key] = {
			'fItemID' : value.fItemID,
			'fModel' : value.fModel,
			'fNumber' : value.fNumber,
			'fStockID' : value.fStockID,
			'fSPID' : value.fStockPlaceID,
			'lQty' : value.lQty,
			'fUnitID' : value.fUnitID,
			'fBatchNo' : value.fBatchNo==undefined?"":value.fBatchNo
		}
	});
	if(!validate){
		datas = [];
		return false;
	}
	pullDownX();
	$("#requesterModal").modal('show');
});
/*
 * @Description: 重置
 * @param :
 */
function reseting(){
	initPickTable();
	$('.success').removeClass('success');
	rowIndex = "%^%%%%";
}
/*
 * @Description: 领料人模态框显示后，领料人卡号获得焦点
 * @param :
 */
$('#requesterModal').on('shown.bs.modal', function () {
	$("#fWorkerId").focus();
});
/*
 * @Description: 领料人模态框隐藏后，清空领料人卡号和领料人
 * @param :
 */
$('#requesterModal').on('hidden.bs.modal', function () {
	$(".resetting").val("");
});
/*
 * @Description: 员工ID输入框输入事件：输入员工ID后，自动带出员工姓名
 * @param : 
 */
validateID("#fWorkerId","#fWorker","save","领料人");

/*
 * @Description: 领料人卡号模态框确定按钮点击事件
 * @param :
 */
$("#save").click(function(){
	useMateriel();
});
/*
 * @Description: 领料提交方法
 * @param :
 */
function useMateriel(){
//	console.log($("#fWorker").val())
	var fWorker = $("#fWorkerId").val();
	var fWorkerName = $("#fWorker").val();
	var workshop = $("#workshop").val();
	if(fWorker == ""){
		swal_Tips('请输入领料人卡号!');
		return false;
	}
	if(fWorkerName == ""){
		swal_Tips('请输入正确的领料人卡号!');
		return false;
	}
	if(workshop == ""){
		swal_Tips('请选择车间!');
		return false;
	}
//	console.log("datas:"+JSON.stringify(datas))
//	console.log("fDeptID:"+workshop)
//	console.log("fWorkerID:"+fWorker)
//	console.log("fWorker:"+fWorkerName)
//	console.log("fStockID:"+$("#fStockID").val())
	showLoading();//显示正在提交中
	$.ajax({
		url : pathUrl("otherStock/otherOutStock.action"),
		type : "POST",
		dataType : "JSON",
		data : {
			'datas' : JSON.stringify(datas),
			'fDeptID' : workshop,
			'fWorkerID' : fWorker,
			'fWorker' : fWorkerName,
			'fStockID' : $("#fStockID").val(),
			'fNote' : $("#fNote").val()
		},
		success : function(data) {
			if (data.code == "0000") {
				if(data.desc == 'dy'){
					getReport('wms',data.id,0);
				}
				$("#requesterModal").modal('hide');
				initStockInfoTable();
				initPickingTable();
				datas = [];
				swal_Tips_Short(data.message);
			} else if (data.code == "9999") {
				swal_Tips(data.message);
			}
		},
		error : function(request) {
			swal_Tips_Error();
		},
		complete : function () {
		}
	});
}
/*
 * @Description: 初始化仓库下拉框里的数据
 * @param : 
 */
function warehouse(){
	$.ajax({
		url : pathUrl("stock/getStockListEmp.action"),
		dataType : "JSON",
//		data : {'id' : $("#pickingID").val()},
		type : "POST",
		async : false,
		success : function(data) {
//			console.log(data)
			var option = "";
			$("#fStockID").empty();
//			option = '<option value="">' + "请选择" + '</option>';
			for (x in data) {
				option += '<option value="' + data[x].fStockID + '">' + data[x].fStockName + '</option>';
			}
			$("#fStockID").html(option);
			$('#fStockID').selectpicker('refresh');
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
}

/*
 * @Description: 仓库下拉框改变事件
 * @param :
 */
$("#fStockID").change(function(){
	initStockInfoTable();
	initPickingTable();
})

/*
 * @Description: 初始化生产车间下拉框里的数据
 * @param : 
 */
function pullDownX(){
	$.ajax({//生产车间下拉
		url : pathUrl("department/getDepNameAndId.action"),
		dataType : "JSON",
		success : function(data) {
			var option = "";
			$("#workshop").empty();
			option = '<option value="">' + "请选择" + '</option>';
			for (x in data) {
				option += '<option value="' + data[x].value + '">' + data[x].text + '</option>';
			}
			$("#workshop").html(option);
			$('#workshop').selectpicker('refresh');
		},
		error : function(request) {
			swal_Tips_Error();
		}
	});
}
/*
 * @Description: 浏览器窗口大小改变后：
 * 				 class为ztree，divClassLeft，divClassRight的高度随之改变，
 * 				 divClassLeft的最大高度和最小高度随之改变
 * @param :
 */
function fnResize() {
	var height = $(window).height() - 15;//获取浏览器窗口大小
	document.getElementsByClassName("blank_bg")[0].style.height = height +"px";
	document.getElementsByClassName("blank_bg")[1].style.height = height +"px";
}
/*
 * @Description: 浏览器窗口大小自适应
 * @param :
 */
$(window).resize(function() {
	window.setTimeout(function() {
		fnResize();
	}, 0);
});
/*
 * @Description: 查询条件按回车事件
 * @param :
 */
$("#fNumber,#fModel").keypress(function(event){
	if(event.keyCode == "13"){
		initStockInfoTable();
	}
});
/*
 * @Description: 获取
 * @param :
 */
function changeOption(){
	var index = $('#selectOption option:selected').val();//获取选择的index
	var s = $('#selectOption option:selected').text();
	switch(index){
	case "0":
		$("#fNote").val("");
		break;
	case "1":
		$("#fNote").val("在外协发料里找不到");
		break;
	case "2":		
		$("#fNote").val(s);
		break;
	default:
		$("#fNote").val(s);
	    break;
	}
}
